/**
*******************************************************
*@file  usart.h 
*@brief usart.h 
*@author 花满楼
*@date     2019-5-24 
*@version  V2
*@note 系统自带usart函数的变量和函数的定义
*******************************************************
*/
#ifndef _USART_H
#define _USART_H
#include "sys.h"
#include "stdio.h"	

#define USART_REC_LEN  			200  	///<定义最大接收字节数 200
#define EN_UART7_RX 			1		///<使能（1）/禁止（0）串口1接收
	  	
extern u8  USART_RX_BUF[USART_REC_LEN]; ///<接收缓冲,最大USART_REC_LEN个字节.末字节为换行符 
extern u16 USART_RX_STA;         		///<接收状态标记	
extern UART_HandleTypeDef UART1_Handler; ///<UART句柄

#define RXBUFFERSIZE   1 ///<缓存大小
extern u8 aRxBuffer[RXBUFFERSIZE];///<HAL库USART接收Buffer

/**如果想串口中断接收，请不要注释以下宏定义*/
void RS232_Init(u32 bound);

/*********************485/232对接变量与函数***********************/
#ifndef UART_Bound
    #define UART_Bound 9600
#endif

#ifndef RS232_TX_EN
    #define RS232_TX_EN PEout(10)   ///< 1:发送  0:接收
#endif

extern u8 RS232_RX_BUF[64];     ///<接收缓冲,最大64个字节
extern u8 Flag_RX_232;     ///<1--接收到一帧校验正确的数据但尚未响应
extern u16 Flag_TX_232;    ///<1--正在发送数据
extern u8 Flag_ParaChange_232 ; 	///<1--触摸屏向DSP写数据

extern u8 RS232_TX_BUF[100];


void RS232_Send_Data(u8 *buf, u8 len);
void RS232_Data(void);
u16 CRC16(u8 *puchMsg, u16 usDataLen);

#endif
